package com.etone.smartAudit.dto.item;

import com.etone.smartAudit.dto.BaseDTO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * @author: 蒋学伟
 * @create: 2020-07-16 17:20:57
 * @Description ItemDTO
 */
@AllArgsConstructor
@NoArgsConstructor
@Builder
@Data
@ApiModel(value = "项目表单")
public class ItemDTO extends BaseDTO implements Serializable {

    @ApiModelProperty("项目名称")
    @NotEmpty
    private String name;

    @ApiModelProperty("项目缩写")
    @NotEmpty
    private String nameAbbreviation;

    @ApiModelProperty("项目类型")
    @NotEmpty
    private String type;

    @ApiModelProperty("项目类型id")
    @NotNull
    private Integer typeId;

    @ApiModelProperty("负责人名称")
    @NotEmpty
    private String leaderAdminName;

    @ApiModelProperty("负责人id")
    @NotNull
    private Integer leaderAdminId;

    @ApiModelProperty("成员")
    private List<ItemMemberDTO> itemMembers;

    @ApiModelProperty("事务所id")
    private Integer officeId;

    @ApiModelProperty("事务所名称")
    private String officeName;

    @ApiModelProperty("项目概述")
    private String remark;

    @ApiModelProperty("预计完成时间")
    @NotNull
    private Date expectOverTime;

}
